package my.dao;

import java.sql.ResultSet;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
 * 
 * @author 夏冬琦
 * @version 3.0
 *
 */
public interface PreSQL {
	
	public int update(Object... args) throws DaoException;
	
	public ResultSet query(Object... args) throws DaoException;
	
	public List<Map<String, Object>> queryMapList(Object... args) throws DaoException;
	public List<Object[]> queryArrayList(Object... args) throws DaoException;
	
	public <T> List<T> queryList(RowMapper<T> mapper,Object... args) throws DaoException;
	
	public <T> List<T> queryBeanList(Class<T> beanClass,Object... args) throws DaoException;
	
	
	public List<Integer> queryIntegerList(Object... args) throws DaoException;
	public List<Long> queryLongList(Object... args) throws DaoException;
	public List<Float> queryFloatList(Object... args) throws DaoException;
	public List<Double> queryDoubleList(Object... args) throws DaoException;
	public List<Boolean> queryBooleanList(Object... args) throws DaoException;
	public List<Date> queryDateList(Object... args) throws DaoException;
	public List<String> queryStringList(Object... args) throws DaoException;
	
	public Map<String, Object> queryUniqueMap(Object... args) throws DaoException;	
	public Object[] queryUniqueArray(Object... args) throws DaoException;	
	

	public <T> T queryUniqueObject(RowMapper<T> mapper, Object... args) throws DaoException;
	
	public <T> T queryUniqueBean(Class<T> beanClass, Object... args) throws DaoException;
	
	public Integer queryInteger(Object... args) throws NoFoundRowException, DaoException;
	public Long queryLong(Object... args) throws NoFoundRowException, DaoException;
	public Float queryFloat(Object... args) throws NoFoundRowException, DaoException;
	public Double queryDouble(Object... args) throws NoFoundRowException, DaoException;
	public Boolean queryBoolean(Object... args) throws NoFoundRowException, DaoException;
	public Date queryDate(Object... args) throws NoFoundRowException, DaoException;
	public String queryString(Object... args) throws NoFoundRowException, DaoException;
	
	
}
